#

| Chapter 6 Multitasking |

## 6.2 Checking on a Process

If a background process takes too long, or you change your mind and want to stop a process, you can check the status of the process and even cancel it.

### 6.2.1 ps

When you enter the single-word command ps, you can see how long a process has been running. The output of ps also tells you the process ID of the background process and the terminal from which it was run.

>     % ps
>     PID     TTY     TIME   COMMAND
>     8048    020     0:12   sh
>     8699    020     0:02   ps
>     %

In its basic form, ps lists the following:

Process ID (PID)

  A unique number assigned by UNIX to the process.

Terminal line (TTY)

  The terminal number from which the process was started.

Run time (TIME)

  The amount of computer time (in minutes and seconds) that the process has used.

Command (COMMAND)

  The name of the process.

At the very least, ps will list one process: ps itself. You should also see the names of any other programs running in the background and the name of your shell's process (sh, csh, and so on).

You should be aware that there are two types of programs on UNIX systems: directly executable programs and interpreted programs. Directly executable programs are written in a programming language like C or Pascal and stored in a file that the system can read directly. Interpreted programs, such as shell scripts, are sequences of commands that are read by an interpreter program. If you execute an interpreted program, you will see an additional command (like perl, sh, or csh) in the ps listing, as well as any UNIX commands that the interpreter is executing now.

Shells with job control have a command called jobs which lists background processes started from that shell. As mentioned above, there are commands to change the foreground/background status of jobs. There are other job control commands as well. See the references in Appendix A, Reading List , for details.

6.1 Running a Command in the Background |  | 6.3 Cancelling a Process